package persistentie;

import java.util.HashMap;
import domein.*;
import java.util.ArrayList;

/**
 *
 * @author Robin
 */
public abstract class AbstractMapper<K, V> {

    public abstract HashMap<K, V> geefMap();

    //gebruiker methoden
    //methoden betreffende gebruikers/login/creatie/overzicht/controle
    public Gebruiker geefGebruiker(int gebruikerID) {
        return null;
    }

    public String geefWachtwoordGebruiker(int gebruikerID) {
        return null;
    }

    public ArrayList<String> geefAlleGebruikers(int gid) {
        return null;
    }

    public void voegGebruikerToe(Gebruiker gebruiker) {
    }

    public void wijzigGebruiker(Gebruiker gebruiker) {
    }

    //webinar methoden
    public void verwijderGebruiker(int gid) {
    }

    //public void voegAntwoordToe(Vraag vraag, Antwoord antwoord){}
    //public void voegBerichtToe(Bericht bericht){}
    //methodes betreffende webinar
    //geef webinars, niet gemaakt door de gebruiker en waar hij niet op is ingeschreven
    public HashMap<Integer, Webinar> geefWebinars(int gid) {
        return null;
    }

    //geef de webinars die gemaakt zijn door de gebruiker
    public ArrayList<Webinar> geefWebinarsGebruiker(int gid) {
        return null;
    }

    public ArrayList<Webinar> geefBeschikbareWebinars(int gid) {
        return null;
    }

    public ArrayList<Webinar> geefGepasseerdeWebinars(int gid) {
        return null;
    }

    public ArrayList<Webinar> geefActieveWebinars(int gid) {
        return null;
    }

    public ArrayList<String> geefVraagEnAntwoord(int wid) {
        return null;
    }

    public ArrayList<Webinar> geefGeplandeWebinars(int gid) {
        return null;
    }

    public Webinar geefWebinar(int webid) {
        return null;
    }

    public ArrayList<Webinar> geefIngeschrevenWebinars(int gid) {
        return null;
    }

    public HashMap<Integer, Gebruiker> geefVolgersWebinar(int webID) {
        return null;
    }

    public void voegWebinarVolgerToe(int gebruikerID, int webinarID) {
    }

    public void verwijderWebinarVolger(int gebruikerID, int webinarID) {
    }

    public void voegNieuweWebinarToe(Webinar webinar) {
    }

    public void startWebinar(int webid) {
    }

    public void stopWebinar(int webid) {
    }

    public void wijzigWebinar(Webinar web) {
    }

    public void verwijderWebinar(int webid) {
    }

    public void voegVraagToe(Vraag vraag) {
    }

    //methodes chat
    public ArrayList<String> geefChatWebinar(int webinarID) {
        return null;
    }

    public void voegChatToe(ChatMessage message) {
    }

    //methoden Q&A
    public void SaveAnswer(int qID, int uID, int WebID, String Tekst) {
    }

    public void updateAnswer(int qID, int WebID, String Tekst) {
    }

    public void saveQuestion(Vraag v) {
    }

    public ArrayList<Vraag> getQuestions(int webID) {
        return null;
    }

    public Antwoord GetAnswer(int webID, int qID) {
        return null;
    }
}